#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void printMogwitzLarsSimulation()
{
    int wisim[100][80];
    int i,j,k;
    //random seed
    srand ( time(NULL) );

    //create first row
    for(i=0;i<80;i++){
        if(rand()%2 == 0) wisim[0][i] = 1;
        else wisim[0][i] = 0;

    }



    for(i=1;i<100;i++){        // spalte
        for(j=0;j<80;j++){    // reihe
            k=0;
            switch(j){
            case(0):                    // Erstes Element hat nur 3 Nachbarn
                k += wisim[i-1][j];
                k += wisim[i-1][j+1];
                k += wisim[i-1][j+2];
                break;
            case(1):                    // Zweites Element hat nur 4 Nachbarn
                k += wisim[i-1][j-1];
                k += wisim[i-1][j];
                k += wisim[i-1][j+1];
                k += wisim[i-1][j+2];
                break;
            case(78):                    // Vorletztes Element hat nur 4 nachbarn
                k += wisim[i-1][j-2];
                k += wisim[i-1][j-1];
                k += wisim[i-1][j];
                k += wisim[i-1][j+1];
                break;
            case(79):                    // Letztes Element hat nur 3 nachbarn
                k += wisim[i-1][j-2];
                k += wisim[i-1][j-1];
                k += wisim[i-1][j];
                break;
            default:                    // Standard Element hat 5 Nachbarn
                k += wisim[i-1][j-2];
                k += wisim[i-1][j-1];
                k += wisim[i-1][j];
                k += wisim[i-1][j+1];
                k += wisim[i-1][j+2];
                break;
            }
            if(k>0 && k%2 == 0) wisim[i][j] = 1;
            else wisim[i][j] = 0;
        }
    }

    for(i=0;i<100;i++){        // spalte
        for(j=0;j<80;j++){    // reihe
            if(wisim[i][j] == 1) printf("X");
            else printf(" ");
        }
    }
    

    getchar();
}